import java.util.ArrayList;
import java.util.Scanner;


public class Hilo1 implements Runnable{
	private Pizarra monitor;
	private int num=0;;
	private String nombre;
	private int numMaxRamdom=0;
	public Hilo1(Pizarra monitor,String nombre,int num, int numMaxRamdom) {
		this.monitor = monitor;
		this.nombre = nombre+""+num;
		this.num=num;
		this.numMaxRamdom=numMaxRamdom;
	}
	@Override
	public void run() {
		this.cambiaNumero();
	}
	/**
	 * metodo sincronizado con monitor para cambiar el numero 
	 */
	public  void cambiaNumero(){
		boolean salir = false;

		while(!salir){
			//System.out.println(nombre);
			synchronized (monitor) {
				if (monitor.getNumero() == num || monitor.getNumero()==-1) {
					if(monitor.setNumero((int) ((Math.random()*3000)%(numMaxRamdom+1)))!=0)
						salir= true;
					
				}
				
			}
			try {
				Thread.sleep(20);
			} catch (InterruptedException e1) {
				System.out.println("No se puede dormir");
			}
		}
		System.out.println("Fin "+nombre);
		
			
		
	}
	
}





